package com.ztsoft.user.pojo.entity.user;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 菜单权限表
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_menu")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class SysMenu extends BaseEntity {

    // 主键id
    @TableId(value = "menu_id", type = IdType.ASSIGN_UUID)
    private String menuId;
    // 菜单名称
    private String menuName;
    // 父菜单id
    private String parentId;
    // 显示顺序
    private Integer orderNum;
    // 路由地址
    private String path;
    // 组件路径
    private String component;
    // 菜单类型（M目录、C菜单、F按钮）
    private String menuType;
    // 权限标识
    private String perms;
    // 菜单图标
    private String icon;
    // 高亮所在
    private String actionMenu;
    // 是否可见（1显示、2隐藏）
    private Integer hideMenu;
    // 只有一个子路由时是否总是展示菜单（1显示 2隐藏）
    private Integer alwayShow;
    // 重定向地址
    private String redirect;
    // 控制tabs标签是否添加（0false、1true）
    private Boolean hideTabs;
    // 状态（1正常、2停用）
    private Integer status;
    // 逻辑删除（0未删除、1已删除）
    @TableLogic
    private Integer isDeleted;
    // 乐观锁
    @Version
    private Integer version;
    // 创建者
    private String createBy;
    // 创建时间
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    // 更新者
    private String updateBy;
    // 更新时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    // 备注
    private String remark;

}
